草庐IT

c++ chrono意外行为

全部标签

c++ - C++ 程序中的异常行为,经常崩溃

我最近在我的程序中遇到了一个问题,似乎也没有人遇到过这个问题,我已经在互联网上搜索了解决方案,但我找不到,让我解释一下。问题我从事2D平台游戏已有一段时间了,并且正在慢慢实现新功能,但是,我遇到了障碍。我目前正在为碰撞和物理目的将AABB树实现编程到我的游戏中,它似乎造成了很多麻烦。我最终修复了程序中的所有错误并得到了一个有效的实现,至少,我认为我做到了,直到随机错误开始出现。令我惊讶的是,它实际上根本不是我的AABB类,而是这个单一的代码块。while(fs.tellg()(&x),2);//I'mreadingfromabinaryfs.read(reinterpret_cast(

python - 在windows powershell中模拟python3 shell命令行为

我在一个运行python3脚本的api上工作,比如python3.此api最初在linux系统上运行。不幸的是,我在Windows上进行了本地开发。有没有办法模拟这种行为,以便当我在powershell中运行时python3-V它给了我python的版本。我已经在我的电脑上安装了python3。我试图将路径添加到我的python.exe使用for变量字符串python3到系统变量.但是在注册并重新启动powershell并输入python3-V之后我仍然收到“python3”未被识别为命令小程序名称的错误。有没有人有什么想法? 最佳答案

windows - 了解 (set) 说明符的 CMD.EXE FOR 行为

我在Windows7环境中执行的CMD.EXE批处理文件中有以下命令:FOR%%fIN("C:\TEMP\FILE.TXT""C:\TEMP\FILE2.TXT")DO(ECHO%%f)C:\TEMP\FILE.TXT不存在C:\TEMP\FILE2.TXT确实存在这会产生以下输出:"C:\TEMP\FILE.TXT""C:\TEMP\FILE2.TXT"但是,我发现如果我更改FOR命令以包含通配符,例如?或*在文件名中,我得到了我期望的结果,这只是C:\TEMP\FILE2.TXT的回显即:FOR%%fIN("C:\TEMP\FILE.TXT?""C:\TEMP\FILE2.TXT?

c++ - std::chrono::system_time 的 Visual Studio 2017 CRT 实现使用什么时钟?

chrono标题中的注释只是说//wrapsGetSystemTimePreciseAsFileTime/GetSystemTimeAsFileTime但它实际使用的是什么(即我期望的精度是多少)?该实现调用_Xtime_get_ticks,但该函数是不透明的。 最佳答案 CRT在可用时调用GetSystemTimePreciseAsFileTime,否则调用GetSystemTimeAsFileTime。GetSystemTimePreciseAsFileTime为您提供highestpossiblelevelofprecisio

c++ - 意外的非 NULL 返回

我正在玩TagLib(在Windows上,使用MingW构建)。我试图让TagLib识别MP3文件中何时没有ID3v1或ID3v2信息。根据TagLibdocumentation,当文件中没有ID3v2信息时,MPEG文件对象中的ID3v2Tag()函数应返回NULL指针。不幸的是,这并没有发生。我制作了一些我在代码中使用的测试MP3文件(我已经提供了这些文件):blank.mp3(download),根本没有ID3v1或ID3v2信息。我可以通过在文件二进制内容中对“TAG”和“ID3”进行纯文本搜索来确认这一点。only_album_id3v2.mp3(download),有ID3

windows - 批处理文件的奇怪行为

我有两个cmd文件。子命令:@echooffexit1父命令:@echooffcmd/Cchild.cmdif%errorlevel%EQU0(echoOK)else(echoERROR)如果运行parent.cmd,会打印ERROR。但是如果稍微改变一下parent.cmd,就会打印OK:@echooffif"YES"EQU"YES"(cmd/Cchild.cmdif%errorlevel%EQU0(echoOK)else(echoERROR))为什么第二个例子打印的是OK? 最佳答案 在代码块内,您需要延迟扩展来访问%varia

java - 为什么 Java 正则表达式在 Linux 和 Windows 上的行为不同?

这是一个普遍的问题。我想知道它们的行为是否有所不同以及原因,还是只有当我们做错事时它们的行为才会不同?这就是我目前正在努力解决的问题。我有这个正则表达式:CLASS_NAME_VALIDATION_REGEX="([a-zA-Z_$][a-zA-Z\\d_$]*\\.)*[a-zA-Z_$][a-zA-Z\\d_$]*";我这样使用它:Pattern.matches(CLASS_NAME_VALIDATION_REGEX,qualifiedClassName)所以在Unix/Linux下matches()返回true对于java.io.Serializable在Windows上它返回f

c++ - 结构中字段对齐的奇怪行为

#includeusingnamespacestd;#pragmapack(push,4)structFoo{charch;//1charch2;//1charch3;//1charch4;//1_4charch5;//1shortnum;//2charch6;//1_4intnum2;//4_4};#pragmapack(pop)intmain(){cout为什么输出是16字节?我认为它一定是12,因为:4char=4byteschar+short+char=4bytesint=4bytes那么有人能解释一下剩下的4个字节在哪里吗? 最佳答案

.NET - 有没有办法改变整个机器的 GC 行为?

一位同事说这是可能的(但我觉得有点奇怪)。如果有办法做到这一点,我在哪里可以做到这一点?我说的是winXP操作系统。 最佳答案 是的,GC有两种操作模式:服务器和工作站。您可以在app.config(每个应用程序)或machine.config中更改模式。参见http://blogs.msdn.com/junfeng/archive/2004/07/13/181534.aspx获取更多信息。对于gcServer:false-不运行服务器垃圾回收。这是默认值。true-运行服务器垃圾收集。对于gcConcurrent:false-不同

C++ Vector 给出难以置信的意外值(value)

我有这个代码:std::vectorloc;loc.push_back(cpx);loc.push_back(cpy);loc.push_back(play.GetSize().x);loc.push_back(70);std::cout在我正在制作的游戏中,但即使当我打印loc[2]和loc[3]的值时,它们与它们应该的值完全不同,当我运行这段代码时,我得到loc[3]等于70070而不是70.有人知道如何解决这个问题吗? 最佳答案 你还有一个cout没有endl或\n您忘记删除的代码中的某处。那个打印700,而70是代码示例中最